Moving object on rendered display using collar

ABSTRACT

In response to receiving a first user action in relation to an object displayed on the rendered display, a collar is displayed on the rendered display around the object. The collar and the object can be made translucent. The collar can have the same shape as the object, but can be larger in size than the object. In response to receiving a second user action in relation to the collar, the object and the collar are moved on the rendered display in correspondence with the second user action, without finalizing a current location of the object on the rendered display after the second user action has been completed. In response to receiving a third user action, the current location of the object is finalized on the rendered display and the collar is removed from around the object on the rendered display.

RELATED APPLICATIONS

The present patent application is a continuation of patent applicationSer. No. 13/194,984, filed on Jul. 31, 2011.

BACKGROUND

A touchscreen is a type of rendered display that visually presentsinformation to a user no differently than a non-touch rendered displaydoes, but in relation to which a user can directly provide input. Atouchscreen device receives user input by detecting placement of auser's finger or a stylus on or near the surface of the touchscreen, ina resistive, capacitive, optical, or other manner. Examples of devicesthat include touchscreen devices include tablet computing devices,desktop computing devices with integrated or external touchscreendevices, smartphones, and other types of devices.

SUMMARY

A method of an embodiment of the invention includes, in response toreceiving a first user action in relation to an object displayed on therendered display, displaying a collar around the object on the rendereddisplay, by a processor. The method includes, in response to receiving asecond user action in relation to the collar, moving the object and thecollar on the rendered display in correspondence with the second useraction, by the processor, without finalizing a current location of theobject on the rendered display after the second user action has beencompleted. The method includes, in response to receiving a third useraction, finalizing the current location of the object on the rendereddisplay and removing the collar from around the object on the rendereddisplay, by the processor.

A computer program product of an embodiment of the invention includes acomputer-readable storage medium having computer-readable code embodiedtherein. The computer-readable code is executable by a processor andincludes first computer-readable code to display a collar around anobject displayed on a touchscreen, responsive to a first user action onthe touchscreen in relation to the object. The computer-readable codeincludes second computer-readable code to move the object and the collaron the touchscreen in correspondence with a second user action, withoutfinalizing a current location of the object on the touchscreen after thesecond user action has been completed. The computer-readable codeincludes third computer-readable code to finalize the current locationof the object on the touchscreen and remove the collar from around theobject on the touchscreen, responsive to a third user action on thetouchscreen.

A system of an embodiment of the invention includes a touchscreen deviceproviding a display and receptive to user input, a processor, and acomputer-readable data storage medium to store a computer programexecutable by the processor. The computer program is to display a collararound an object displayed on the display responsive to first user inputin relation to the object. The computer program is to move the objectand the collar on the display in correspondence with second user inputin relation to the collar, without finalizing a current location of theobject on the display after the second user input has been completed.The computer program is to finalize the current location of the objecton the touchscreen and remove the collar from around the object on thedisplay, responsive to third user input in relation to the collar.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The drawings referenced herein form a part of the specification.Features shown in the drawing are meant as illustrative of only someembodiments of the invention, and not of all embodiments of theinvention, unless otherwise explicitly indicated, and implications tothe contrary are otherwise not to be made.

FIG. 1 is a flowchart of a method for moving an object on a rendereddisplay, like a touchscreen, using a collar, according to an embodimentof the invention.

FIG. 2 is a diagram of an example touchscreen on which an object isdisplayed, in relation to which parts of the method 100 can beperformed, according to an embodiment of the invention.

FIGS. 3, 4, 5, 6, 7, and 8 are diagrams of the example touchscreen ofFIG. 2 after different parts of the method 100 have been performed,according to varying embodiments of the invention.

FIG. 9 is a diagram of a representative system, according to anembodiment of the invention.

FIGS. 10A, 10B, and 10C are diagrams of example performance of themethod 100 within a particular scenario, according to an embodiment ofthe invention.

DETAILED DESCRIPTION

In the following detailed description of exemplary embodiments of theinvention, reference is made to the accompanying drawings that form apart hereof, and in which is shown by way of illustration specificexemplary embodiments in which the invention may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention. Other embodiments may be utilized,and logical, mechanical, and other changes may be made without departingfrom the spirit or scope of the present invention. The followingdetailed description is, therefore, not to be taken in a limiting sense,and the scope of the embodiment of the invention is defined only by theappended claims.

As noted in the background section, touchscreen devices are devices thatboth display information to users and receive input from the users.Touchscreen devices permit users to move objects displayed ontouchscreens, such as by touch and drag actions. In a touch and dragaction, a user touches the touchscreen where the object is displayed,moves his or her finger or a stylus on the touchscreen to where theobject is to be moved, and then stops touching the touchscreen torelease the object at its new location.

Such existing techniques to move objects on touchscreens can beproblematic. For smaller touchscreens, the object may be small, makingit difficult for the user to select and then move using a touch and dragaction. Furthermore, the user's finger, or the stylus, may block theuser's view of the object. As such, it can be difficult for the user toprecisely position the object at a desired location.

For larger touchscreens, the location to which the object is desired tobe moved may be far away from the object's current location. As such,when using a touch and drag action, the user has to be extra careful toensure that his or her finger, or a stylus, remains pressed on thetouchscreen during the entire action. Otherwise, the object may be movedto an undesired location short of the location to which the user wantsto move the object. Alternatively, if the user removes his or herfinger, or the stylus, while the object is at a location to which itcannot be moved, the object may default back to its original position,which can be frustrating.

However, embodiments of the present invention described herein areadvantageous over these existing techniques. A first user actionperformed in relation to an object displayed on a touchscreen, such as atap on the touchscreen by a user, causes a collar to be displayed aroundthe object on the touchscreen. The collar can be the same shape as theobject, but have a size greater than the object, and can be translucent.Responsive to the first user action, the object itself may also be madetranslucent. The collar being greater in size permits the user to usethe collar instead of the object to move the object, such that theobject may remain visible even while the user has his or her finger, ora stylus, over a portion of the collar.

A second user action performed in relation to the collar causes theobject and the collar to move on the touchscreen in correspondence withthis action, but without finalizing the current location of the objecton the touchscreen after the second user action has been completed. Forinstance, if the user inadvertently or purposefully removes his or herfinger from the touchscreen while performing a touch and drag action,causing the second user action to be completed, the object's currentlocation is not finalized as the ultimate destination of the object. Theuser can rather perform another second user action to continue movingthe object and the collar.

A third user action that is performed, such as another tap on thetouchscreen by the user, then finalizes the current location of theobject on the touchscreen. The collar is further removed from around theobject on the touchscreen. As such, the general process disclosed hereinto move an object is: the user selects an object via a first useraction, which causes the display of a collar; the user uses the collarto move the object to a desired location via one or more second useractions; and, the user indicates that the object is at its desiredlocation via a third user action.

FIG. 1 shows a method 100, according to an embodiment of the invention.The method 100 is for moving an object on a rendered display. Parts ofthe method 100 that are indicated by rectangles in FIG. 1 may beperformed by a processor, such as the processor of a device thatincludes a rendered display device, or to which the rendered displaydevice is attached. While embodiments of the invention are specificallydescribed herein primarily in relation to a rendered display device thatis a touchscreen device, the embodiments of the invention are moregenerally applicable to different types of rendered display devices aswell.

In general, a rendered display device is an electronic device thatpresents, or renders, a display. The rendered display device may be partof a computing device, for instance, or may be attached to a computingdevice. Rendered display devices include cathode-ray tube (CRT) devices,liquid crystal display (LCD) devices, plasma display devices,light-emitting diode (LED) display devices, and other types of devices.These example display devices generally render two-dimensional displays,but can also render three-dimensional displays, with or without usershaving to wear special glasses.

Other examples of rendered display devices include electronic devicesthat project displays. A typical projection device, for instance, mayproject a two-dimensional display onto a surface such as a screen.However, a holographic projection device can project a holographicdisplay in space, as opposed to on a surface like a screen. Forinstance, a holographic projector may project a holographic displaywithin a two-dimensional plane or a three-dimensional volume in space.

The rendered display device may further provide a manner by which theuser can directly or indirectly interact with the displayed information.For example, CRT devices, LCD devices, plasma display devices, LEDdisplay devices, and so on, may be touchscreen devices, in which a usercan position a stylus or his or her finger against a touchscreen tointeract with the displayed information in a relatively direct manner.By comparison, indirect interaction can include the user using apointing device, such as a mouse or a track pad, to interact with thedisplayed information. With respect to projection devices, various typesof sensors may be employed to determine where the user is positioning apointer, stylus, a body part, and so on, in relation to the rendered(i.e., projected) display.

A user performs a first user action in relation to an object displayedon the rendered display (102), and the method 100 receives this firstuser action (104). An example of such a first user action in relation toan object displayed particularly on a touchscreen is a tap action thatthe user performs on the touchscreen over where the object is displayed.In a tap action, the user uses his or her finger, or a stylus, to tap,or momentarily or quickly press, the touchscreen where the object isdisplayed on the touchscreen.

FIG. 2 shows an example touchscreen 200 in relation to which parts 102and 104 of the method 100 can be performed, according to an embodimentof the invention. An object 202 is displayed on another object 204 onthe touchscreen 200. The object 202 may be a graphical user interface(GUI) element that the user can select and move. The object 204 may beconsidered a background object that remains stationary. The object 202is opaque in the example of FIG. 2, such that the object 204 is notvisible through the object 202. The user performs the first user actionin relation to the object 202.

Referring back to FIG. 1, in response to receiving the first useraction, the method 100 displays at least a collar around the object(106). The collar can have the same shape as the object, but is largerin size than the object. The collar and the object are centered aboutthe same center point, such that the collar is concentric with theobject. The collar itself is another object.

The size of the collar can be set in correspondence with the area of therendered display that was actuated as a result of the first user action.For example, a user may have performed a tap action on a touchscreenover where the object is displayed on the touchscreen. In performingthis tap action, the user may have pressed his or her finger on thetouchscreen. One type of touchscreen, which is known as a multi-touchtouchscreen, can register more than one point on the touchscreen beingtouched at the same time. The collection of these points is thus thearea of the rendered display that was actuated as a result of the firstuser action, and the collar can be sized based on this area. Therefore,the more points on the touchscreen that the user selected, the greaterthe size the collar is. As such, the size of the collar can be set inaccordance with the size of the portion of the user's finger, or astylus, that was used to depress the touchscreen.

The size of the collar can further be set in correspondence with thearea of the rendered display that was actuated as a result of one ormore prior user actions, such as on average. For instance, each time auser performs a tap action, the size of the area that the user touchedmay be recorded. The size of the collar is therefore set based on theaverage size of these areas that the user touched when having performedsuch tap actions.

The center point of the collar and the object may be, but does not haveto be, accentuated so that it is visible. This permits the user to moreprecisely position the object when subsequently moving the object on thetouchscreen. Similarly, the collar may include, but does not have toinclude, a set of cross hairs that extend radially from the centerpoint, to assist the user in precisely positioning the object wheredesired. The collar may include, but does not have to include statusinformation regarding the object as well.

The method 100 may, but does not have to, further store the currenttranslucency of the object, and then increase the object's translucency(106). The collar may also be made, but does not have to be made,translucent. In these ways, any background displayed on the rendereddisplay behind the object and the collar is visible through the objectand the collar. The method 100 may also display, but does not have todisplay, a path extending from the object. The path indicates where theobject is permitted to be moved. The path may be linear or non-linear,and there can be more than one such path.

FIG. 3 shows the touchscreen 200 of FIG. 2 after example performance ofpart 106, according to an embodiment of the invention. The touchscreen200 includes the object 202 displayed against the background object 204,as before. A collar 302 is displayed around the object 202. As can beseen in FIG. 2, the collar 302 is centered about the object 202, and hasthe same shape as but is larger in size than the object 202. The object202 is shaded in a lighter manner in FIG. 3 than in FIG. 2 to indicatethat its translucency has been increased to permit the background object204 to be visible through the object 202. The collar 302 has the sameshading as the object 202 in FIG. 3 to likewise indicate that it istranslucent.

The collar 302 and the object 202 have a center point 304 that isaccentuated in FIG. 3. That is, the center point 304 is made clearlyvisible on the touchscreen 200. A path 306 can extend from the centerpoint 304 to an end point 308. The path 306 indicates where the object202 can be permissibly moved on the touchscreen 200. Specifically, theobject 202 can be moved so that its center point 304 is anywhere alongthe path 306 through to and including the end point 308 thereof.

FIG. 4 shows the collar 302 displayed around the object 202 on thetouchscreen 200 of FIG. 2, according to another embodiment of theinvention. As in FIG. 3, the object 202 and the collar 302 are shaded ina lighter manner in FIG. 4 than in FIG. 2 to indicate that they aretranslucent to permit the background object 204 to be visible throughthe object 202 and the collar 302. The center point 304 of the collar302 and the object 202 are also accentuated in FIG. 4 as in FIG. 3.

The collar 302 includes a set of crosshairs 402 in the embodiment ofFIG. 4, to permit the user to more precisely move the object 202 to adesired location. The collar 302 further includes text 404. The text 404can provide status information regarding the object 202, for instance.

Referring back to FIG. 1, the user performs a second user action inrelation to the collar displayed on the rendered display (108), and themethod 100 receives this second user action (110). An example of such asecond user action in relation to a collar displayed particularly on atouchscreen is a touch and drag action that the user performs on thetouchscreen initially over which the collar is displayed. In a touch anddrag action, the user uses his or her finger, or a stylus, to touch thetouchscreen on any portion thereof where the collar is displayed on thetouchscreen, and then, while still touching the touchscreen, move thisfinger or stylus on the touchscreen based on where the user wants tomove the object.

In response to receiving the second user action, the method 100 movesthe object and the collar on the rendered display in correspondence withthe second user action (112). For example, the user may touch his or herfinger on a touchscreen over where the collar is displayed, and thenwhile still touching the touchscreen move this finger to the right. Themethod 100 thus correspondingly moves both the object and the collar tothe right as well, as displayed on the touchscreen.

The movement of the object and the collar is further in correspondencewith a path that may have been displayed. For example, if the path isdownwards and to the right, but the user is attempting to move theobject and the collar just to the right, the object and the collar willsnap to the path so that they move along the path. If there is more thanone path, then the object and the collar will snap to the path that mostclosely matches the second user action.

Unlike as in conventional techniques, the user does not have to have hisor her finger or a stylus positioned on a touchscreen where the objectitself is displayed, but just where the collar is displayed. Because thecollar is larger in size than the object, this means that the user has alarger target to touch on the touchscreen. Furthermore, again becausethe collar is larger in size than the object, the object may remainvisible because it is not obfuscated by the user's finger or stylus,which can permit the user to more precisely move the object to a desiredlocation.

It is noted that the collar is said to include or encompass the object,insofar as the object is completely located within the collar.Therefore, that the user performs a second user action in relation tothe collar means that the user can perform this action in relation tothe object, too. That is, while the user can use the collar to move theobject, the user can still use the object to move the object as well.

Importantly, once the user has completed the second user action, thecurrent location of the object on the rendered display is not yetfinalized. That is, the method 100 does not interpret completion of thesecond user action as indication by the user that the object's currentlocation is the ultimate location to which the object should be moved.Rather, the user can perform another second action in relation to thecollar to keep moving the object (114).

For example, the user may perform a touch and drag action in relation toa collar displayed on a touchscreen, using his or her finger, to move anobject to a desired location. For whatever reason, the user may lift hisor her finger from the touchscreen prior to having moved the object tothe desired location. Existing techniques would interpret the removal ofthe user's finger from the touchscreen as the user indicating that theobject has reached its desired location, and thus would finalize thecurrent location as the ultimate location to which the object is to bemoved.

This scenario can be particularly deleterious where, as noted above, thecurrent location where the user has accidentally placed the object is animpermissible location for the object in question. For example, whenmoving an object from one area to another area, the user mayaccidentally place the object in a third area. The application programassociated with the third area may immediately perform processing on theobject, which was not the user's intention. Alternatively, the thirdarea may be an impermissible area in which the object cannot be placed,resulting in the object snapping back to its original location, andcausing the user to have to restart the movement process again.

By comparison, the method 100 does not make any interpretation as to thecompletion of the second user action—accidental or otherwise—signalingthe intended desired location of the object. The user can insteadperform another second user action in relation to the collar to continuemoving the object, even after lifting his or her finger from thetouchscreen. The method 100 does not finalize the current location ofthe object until the user has performed a different, third user action,as described in detail below.

FIGS. 5 and 6 show the touchscreen 200 of FIG. 3 after two exampleperformances of parts 108, 110, and 112 in succession, according to anembodiment of the invention. The object 202 and the background object204 are displayed on the touchscreen 200 in FIGS. 5 and 6, as before.Likewise, the collar 302, including the center point 304 of the collar302 and the object 202, is displayed on the touchscreen 200 in FIGS. 5and 6, as before.

In FIG. 5, the user is attempting to move the object 202 from itsoriginal location 502 on the background object 204 to a desired location504. The user has achieved this by performing a touch and drag action inrelation to the collar 302. At the current location of the object 202and the collar 302 depicted in FIG. 5, the user is touching thetouchscreen 200 with his or her finger at a location 506, whichencompasses a corner of the collar 302. As such, the object 202 itselfis not obfuscated during movement of the object 202.

It is assumed in the example being described that the user accidentallylifts his or her finger from the touchscreen 200 while the object 202and the collar 302 are at the location depicted in FIG. 5. As such, thesecond user action in question has been completed. However, as notedabove, the method 100 does not interpret completion of the second useraction as finalizing the current location of the object 202 on thetouchscreen 200. Therefore, the collar 302 remains displayed around theobject 202, and the current location of the object 202 is notinterpreted as being the final intended destination of the object 202.

In FIG. 6, the user has performed another touch and drag action inrelation to the collar 302, moving the object 202 from its priorposition in FIG. 5, which is indicated in FIG. 6 as the location 602, tothe final intended destination intended by the user. There is nolocation indicated in FIG. 6 that corresponds to the location 506 inFIG. 5. This is because the user has, after having moved the collar 302and the object 202 to the location shown in FIG. 6, removed his or herfinger from the touchscreen 200.

However, while moving the object 202 from the location 602 to thelocation shown in FIG. 6, the user may have performed the second touchand drag action in relation to the same portion of the collar 302 as inFIG. 5, or a different portion. That is, in FIG. 5, the user has touchedthe touchscreen 200 at the location 506, corresponding to a corner ofthe collar 302. When the user moves the object 202 from the location 602to the location shown in FIG. 6, the user may touch the touchscreen 200over the same corner of the collar 302, or a different part of thecollar 302.

Note that in FIG. 6, even though the second user action has beencompleted, the collar 302 is still displayed around the object 202. Thisis because even though the user knows that the object 202 has beenplaced at its intended destination, the method 100 still does not know.As noted above, until the user performs a different, third user actionin relation to the collar 302 does the method 100 interpret the currentlocation of the object 202 as being the intended final location of theobject 200.

It is noted that a legal area in which the object 202 can be moved mayhave been defined, such as by an application program in relation towhich the object 202 has been displayed, and so on. If the user attemptsto move the object 202 past a boundary of this legal area, the object202 stops at the boundary and cannot be moved past the boundary.However, the collar 302 is still displayed around the object 202 on thetouchscreen 200, insofar as possible, such that the collar 302 doesextend past this boundary as displayed on the touchscreen 200.

FIG. 7 shows an example in which the object 202 is not permitted to movepast a boundary 702 on the touchscreen 200, but the collar 302 can movepast the boundary, according to an embodiment of the invention. Thetouchscreen 200 includes background object 204, as well as the object202, as before. The touchscreen 200 further includes the collar 302having the center point of the object 202 and the collar 302.

In the example of FIG. 7, the boundary 702 is specifically the rightedge of the touchscreen 200. However, in other scenarios, the boundary702 can be a boundary of any arbitrarily defined legal area in which theobject 202 is permitted to be moved on the touchscreen 200, and thuswhich may not be equal to the entirety of the touchscreen 200. Forinstance, a given legal area may have a boundary this is not collinearwith any edge of the touchscreen 200.

In FIG. 7, the user has attempted to move object 202 past the boundary702. The object 202 is not permitted to move past the boundary 702.However, the collar 302 can extend past the boundary 702. Therefore, theright-most portion of the collar 302 is not depicted in FIG. 7, becauseit resides past the right edge of the touchscreen 200.

Referring back to FIG. 1, the user performs a third user actiondisplayed on the rendered display (116), and the method 100 receivesthis third user action (118). The third user action may be a tap action,like the first user action. The third user action may be performed inrelation to the collar. Alternatively, the third user action may beperformed not in relation to the collar.

For example, where the third user action is a tap action, the tap actionmay be performed on the touchscreen where the collar is displayed. Inthis case, the tap action is said to be performed in relation to thecollar. As another example, however, the tap action may be performedanywhere on the touchscreen, and not just at a portion thereof where thecollar is displayed. In this case, by comparison, the tap action is saidto not be performed in relation to the collar.

In response to receiving the third user action, the method 100 finalizesthe current location of the object (120). That is, the method 100interprets the third user action as signaling that the current locationof the object is the intended final destination of the object. Theapplication program associated with the area to which the object hasbeen moved may then perform processing on the object, as may have beenintended by the user. Until the third user action is performed, however,the application program does not perform such processing, because themethod 100 does not finalize the current location of the object untilthe third user action is performed.

The method 100 also removes the collar from being displayed on therendered display, as well as any path for the object that may have beendisplayed (120). The removal of the collar may signal to the user thatthe method 100 has received the third user action, and that the method100 is now treating the current location of the object as the intendedfinal destination of the object. Similarly, the method 100 decreases thetranslucency of the object to its translucency as previously stored inpart 106 (120).

FIG. 8 shows the touchscreen 200 of FIG. 6 after example performance ofparts 118 and 120, according to an embodiment of the invention. Thetouchscreen 200 includes the background object 204, as well as theobject 202. The object 202 is in the same location as in FIG. 6 afterthe additional second user action has been performed. However, in FIG. 8the location of the object 202 is now finalized, because the third useraction has also been performed.

As such, the translucency of the object 202 has been increased to itsoriginal translucency as in FIG. 2. Furthermore, the collar 302,including the center point 304 of the collar 302 and the object 202, isnot depicted in FIG. 8. Rather, the collar 302 has been removed from thetouchscreen 200, due to the third user action having been performed.

FIG. 9 shows a representative system 900, according to an embodiment ofthe invention. The system 900 includes a rendered display device 901,which can be a touchscreen, a processor 902, and a computer-readabledata storage medium 904. The system 900 can take the form of a devicelike a computing device, such as a desktop or laptop computer, asmartphone, or another type of computing device or device.

The rendered display device 901, the processor 902, and thecomputer-readable data storage medium 904 may be encased within a commonhousing. Alternatively, at least the rendered display device 901 may bedisposed within a housing separate from that which includes theprocessor and the computer-readable data storage medium 904. Therendered display device 901 provides a rendered display. The display maybe rendered on a portion of the device 901 itself, such as a screen thatis part of the device 901, or the display may be rendered external tothe device 901, such as in space or on a surface.

The computer-readable data storage medium 904 can include volatileand/or non-volatile computer-readable data storage media. Thecomputer-readable data storage medium 904 stores a computer program 906.The computer program 906 is executable by the processor 902. Executionof the computer program 906 by the processor 902 results in the method100 being performed.

FIGS. 10A, 10B, and 10C depict example performance of the method 100 ina particular scenario, according to an embodiment of the invention. Theparticular scenario relates to the management of server devices withinracks, in which a user is presented with a graphical representation ofthe server devices within the racks. A rendered display 1000 shows twocolumns 1002 and eight rows 1004 of rack slots that server devices canpopulate. In the example of FIGS. 10A, 10B, and 10C, a slot is shaded ifa server device occupies the slot, and is not shaded if a server devicedoes not occupy the slot. Furthermore, arrows 1006 permit a user to viewa prior set and a next set of rack slots.

In FIG. 10A, the slot 1008 has a warning graphic, indicating that theserver occupying the slot 1008 should be moved for better performance,or for another reason. In FIG. 10B, when a user selects the serverwithin the slot 1008, a collar 1010 is displayed around the server sothat the user can better move the server to an empty slot. The slot 1012has a suggestion graphic, indicating that moving the server from theslot 1008 to the slot 1012 would rectify the warning. In FIG. 10C, theuser has moved the server to the slot 1012, such that the slot 1008 isnow empty, and the server now occupies the slot 1012.

Variations and enhancements to this basic approach depicted in FIGS.10A-10C can be made. When the user selects the server occupying the slot1008, information regarding the server may be displayed within thecollar 1010, which is depicted in FIG. 10B via the word “INFO”. When theuser has moved the collar 1010 sufficiently to permit the server to bereleased into the slot 1012 (i.e., when the server overlaps the slot1012), the collar 1010 may change color to indicate this guidance to theuser. If the user wishes to move the server to a different set of rackslots than that which includes the slot 1008, the user may move thecollar 1010 so that the server being moved overlaps one of the arrows1006. A prior or next set of racks may then be displayed to which theuser can move the server, with the selection of the color 1010persisting to the prior or next set of racks.

It is noted that, as can be appreciated by one those of ordinary skillwithin the art, aspects of the present invention may be embodied as asystem, method or computer program product. Accordingly, aspects of theembodiments of the invention may take the form of an entirely hardwareembodiment, an entirely software embodiment (including firmware,resident software, micro-code, etc.) or an embodiment combining softwareand hardware aspects that may all generally be referred to herein as a“circuit,” “module” or “system.” Furthermore, aspects of the presentinvention may take the form of a computer program product embodied inone or more computer readable medium(s) having computer readable programcode embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium include the following: an electrical connection havingone or more wires, a portable computer diskette, a hard disk, a randomaccess memory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), an optical fiber, a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing.In the context of this document, a computer readable storage medium maybe any tangible medium that can contain, or store a program for use byor in connection with an instruction execution system, apparatus, ordevice.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device. Program codeembodied on a computer readable medium may be transmitted using anyappropriate medium, including but not limited to wireless, wireline,optical fiber cable, RF, etc., or any suitable combination of theforegoing.

In general, a computer program product includes a computer-readablemedium on which one or more computer programs are stored. Execution ofthe computer programs from the computer-readable medium by one or moreprocessors of one or more hardware devices causes a method to beperformed. For instance, the method that is to be performed may be oneor more of the methods that have been described above.

The computer programs themselves include computer program code. Computerprogram code for carrying out operations for aspects of the presentinvention may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on the user's computer,partly on the user's computer, as a stand-alone software package, partlyon the user's computer and partly on a remote computer or entirely onthe remote computer or server. In the latter scenario, the remotecomputer may be connected to the user's computer through any type ofnetwork, including a local area network (LAN) or a wide area network(WAN), or the connection may be made to an external computer (forexample, through the Internet using an Internet Service Provider).

Aspects of the present invention have been described above withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according toembodiments of the invention. It will be understood that each block ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

It is finally noted that, although specific embodiments have beenillustrated and described herein, it will be appreciated by those ofordinary skill in the art that any arrangement calculated to achieve thesame purpose may be substituted for the specific embodiments shown. Thisapplication is thus intended to cover any adaptations or variations ofembodiments of the present invention. As such and therefore, it ismanifestly intended that this invention be limited only by the claimsand equivalents thereof.

We claim:
 1. A method comprising: in response to receiving a first useraction in relation to an object displayed on the rendered display,displaying a collar around the object on the rendered display, by aprocessor; in response to receiving a second user action within aparticular region, moving the object and the collar on the rendereddisplay in correspondence with the second user action, by the processor,without finalizing a current location of the object on the rendereddisplay after the second user action has been completed; and, inresponse to receiving a third user action, finalizing the currentlocation of the object on the rendered display and removing the collarfrom around the object on the rendered display, by the processor,wherein the particular region is one of: a region on the collar and aregion on the object.
 2. The method of claim 1, wherein the rendereddisplay is a touchscreen.
 3. The method of claim 2, wherein the firstuser action and the third user action are each a tap action performed bya user on the touchscreen, and wherein the second user action is a touchand drag action performed by a user on the touchscreen in relation tothe object.
 4. The method of claim 2, wherein the collar has a size incorrespondence with an area of the touchscreen that was actuated by thefirst user action.
 5. The method of claim 2, wherein the collar has asize in correspondence with an average area of the touchscreen that hasbeen actuated by the first user action and by one or more prior useractions.
 6. The method of claim 2, wherein the second user action is oneof a plurality of second user actions, such that after each second useraction, a user is not touching the touchscreen, and the current locationof the object on the touchscreen is not finalized after each second useraction is performed until the third user action has been received. 7.The method of claim 1, wherein the collar has a same shape as the objectbut is larger in size than the object, the collar having a same centerpoint as the object.
 8. The method of claim 1, wherein the collarcomprises one or more of: an accentuated center point that is a samecenter point as the object; a set of cross hairs extending radially fromthe center point; status information regarding the object.
 9. The methodof claim 1, further comprising: in response to receiving the first useraction, storing a current translucency of the object as a savedtranslucency, by the processor; and, increasing the current translucencyof the object, by the processor, such that a background displayed on therendered display behind the object is more visible through the objectthan with the saved translucency of the object, where the collar is alsotranslucent such that a background displayed on the rendered displaybehind the collar is visible through the collar; and, in response toreceiving the third user action, decreasing the current translucency ofthe object to the saved translucency that was previously stored, by theprocessor.
 10. The method of claim 1, further comprising: in response toreceiving the first user action, displaying a path on the rendereddisplay, by the processor, the path indicating where the object ispermitted to be moved; in response to receiving the third user action,removing the path from around the object on the rendered display, by theprocessor, where moving the object and the collar on the rendereddisplay in correspondence with the second user action is further incorrespondence with the path.
 11. The method of claim 1, wherein theobject has a legal area in which the object is permitted to be moved onthe rendered display, wherein moving the object and the collar on therendered display in correspondence with the second user action is suchthat when the object reaches a boundary of the legal area, the objectcannot be moved past the boundary but the collar is still displayedaround the object on the rendered display such that the collar extendspast the boundary of the legal area.
 12. A computer program productcomprising: a computer-readable storage medium having computer-readablecode embodied therein, the computer-readable code executable by aprocessor and comprising: first computer-readable code to display acollar around an object displayed on a touchscreen, responsive to afirst user action on the touchscreen in relation to the object; secondcomputer-readable code to move the object and the collar on thetouchscreen in correspondence with a second user action within aparticular region, without finalizing a current location of the objecton the touchscreen after the second user action has been completed; and,third computer-readable code to finalize the current location of theobject on the touchscreen and remove the collar from around the objecton the touchscreen, responsive to a third user action on thetouchscreen, wherein the particular region is one of: a region on thecollar and a region on the object.
 13. The computer program product ofclaim 12, wherein the collar has a size in correspondence with at leastan area of the touchscreen that was actuated by the first user action.14. The computer program product of claim 12, wherein the second useraction is one of a plurality of second user actions, such that aftereach second user action, a user is not touching the touchscreen, and thecurrent location of the object on the touchscreen is not finalized aftereach second user action is performed until the third user action hasbeen received.
 15. The computer program product of claim 12, wherein thecollar has a same shape as the object but is larger in size than theobject, the collar having a same center point as the object.
 16. Thecomputer program product of claim 12, wherein the collar comprises oneor more of: an accentuated center point that is a same center point asthe object; a set of cross hairs extending radially from the centerpoint; status information regarding the object.
 17. The computer programproduct of claim 12, wherein the first computer-readable code is furtherto store a current translucency of the object as a saved translucency,and to increase the current translucency of the object, where the collaris also translucent, and wherein the third computer-readable code isfurther to decrease the current translucency of the object to the savedtranslucency that was previously stored.
 18. The computer programproduct of claim 12, wherein the first computer-readable code is furtherto display a path on the touchscreen indicating where the object ispermitted to be moved, wherein the second computer-readable code is tomove the object and the collar on the touchscreen both in correspondencewith the second user action and in correspondence with the path, andwherein the third computer-readable code is further to remove the pathfrom around the object on the touchscreen.
 19. The computer programproduct of claim 12, wherein the object has a legal area in which theobject is permitted to be moved on the touchscreen, and wherein thesecond computer-readable code is to move the object and the collar onthe touchscreen in correspondence with the second user action such thatwhen the object reaches a boundary of the legal area, the object cannotbe moved past the boundary but the collar is still displayed around theobject on the touchscreen such that the collar extends past the boundaryof the legal area.
 20. A system comprising: a touchscreen deviceproviding a display and receptive to user input; a processor; and, acomputer-readable data storage medium to store a computer programexecutable by the processor to: display a collar around an objectdisplayed on the display responsive to first user input on the displayin relation to the object; move the object and the collar on the displayin correspondence with second user input within a particular region,without finalizing a current location of the object on the display afterthe second user input has been completed; and, finalize the currentlocation of the object on the display and remove the collar from aroundthe object on the display, responsive to third user input in relation tothe collar, wherein the particular region is one of: a region on thecollar and a region on the object.